Skip to content

SourceGenerators: Work Graph Keys + Create facade + Verify - #315

Merged
Skymly merged 4 commits into
mainfrom
cursor/skymly-frontier-automation-c3d7
Aug 5, 2026
Merged

SourceGenerators: Work Graph Keys + Create facade + Verify#315
Skymly merged 4 commits into
mainfrom
cursor/skymly-frontier-automation-c3d7

Conversation

@cursor

@cursor cursor Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Implement attribute-driven Fork–Join Work Graph generation: {Holder}WorkStepKeys and {Holder}WorkGraph.Create(resolver|dictionary) fill WorkGraphBuilder so the generated path shares runtime wave/fail-fast semantics. Compile-time diagnostics cover the MVP matrix DP087–DP092.

Claim note: agent-working label / assignee could not be set (GitHub integration returned 403 on issue mutations). This open PR is the concurrency claim for ready-for-agent issue #311.

What ships

  • WorkGraphGenerator (IIncrementalGenerator + ForAttributeWithMetadataName) for [WorkGraph] / [WorkGraph<TContext>] + [WorkStep]
  • Keys + Create facade emission (empty catalogs still emit Create so Build() rejects at runtime)
  • DP087 cycle · DP088 unknown DependsOn · DP089 duplicate id · DP090 self-dependency · DP091 unreachable Warning · DP092 contract mismatch
  • Verify coverage for diamond / multi-root / empty / diagnostic matrix
  • No MVP DI/Autofac registration generation; no version bump / tag / publish

Design Doc / ROADMAP F3 / AGENTS pattern summary remain on #312.

Related Issue

Closes #311

Solution module

  • SourceGenerators (DesignPatterns.SourceGenerators/)

Also touches: Verify tests under tests/DesignPatterns.SourceGenerators.Tests/, CHANGELOG.md [Unreleased].

Type of change

  • Source generator / diagnostic / CodeFix change

Test plan

  • dotnet test tests/DesignPatterns.SourceGenerators.Tests (Release) — 213 passed, including WorkGraphGeneratorTests
  • Full ./build.ps1 --target Ci --configuration Release (targeted suite above covers SourceGenerators seam)

Breaking changes

  • None

Checklist

  • This PR touches only one solution module (SourceGenerators + required Verify/CHANGELOG)
  • Commit messages are in English
  • PR description is English only
  • No version bumps, tags, releases, or NuGet publish
  • Public generator / diagnostic emission documented in CHANGELOG [Unreleased]

Documentation checklist

Open in Web View Automation 

cursoragent and others added 4 commits August 5, 2026 13:16
Emit {Holder}WorkStepKeys and {Holder}WorkGraph.Create from
[WorkGraph]/[WorkStep] catalogs, sharing WorkGraphBuilder execution
and reporting DP087–DP092 at compile time.

Co-authored-by: 落笔wys <Skymly@users.noreply.github.com>
Lock Keys/Create emission for diamond and multi-root catalogs plus
the DP087–DP092 diagnostic matrix.

Co-authored-by: 落笔wys <Skymly@users.noreply.github.com>
Record the SourceGenerators dual-path emission and DP087–DP092
reporting under Unreleased.

Co-authored-by: 落笔wys <Skymly@users.noreply.github.com>
Emit Create for empty [WorkGraph] holders so Build rejects at runtime,
share successor-map construction, and drop dead DependsOn parsing.

Co-authored-by: 落笔wys <Skymly@users.noreply.github.com>
@cursor
cursor Bot marked this pull request as ready for review August 5, 2026 13:20
@Skymly
Skymly merged commit 6909fc1 into main Aug 5, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SourceGenerators: Work Graph Keys + Create facade + Verify

2 participants